#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
int a[20][20];
int h[10];
int s[10];
int e[5][5];
int p[1<<11];
int ans=-1;
 int o[1<<10];
 int gs(int i,int j){
    return a[i][j]*(6+min(min(i,8-i),min(j,8-j)));
 }
 void init(){
    for(int i=0;i<9;i++)h[i]=s[i]=e[i/3][i%3]=(1<<9)-1;
    for(int i=0;i<(1<<9);i++){
        int t=i;
        while(t){
            t&=t-1;
            o[i]++;
        }
    }
    for(int i=0;i<9;i++)p[1<<i]=i+1;
 }
void dfs(int cnt,int sum){
    if(cnt==0){
        ans=max(ans,sum);
    }
    int mi=10,x,y;
    for(int i=0;i<9;i++){
        for(int j=0;j<9;j++){
            if(!a[i][j]){
                int t=h[i]&s[j]&e[i/3][j/3];
                if(o[t]<mi){
                    mi=o[t];
                    x=i;
                    y=j;
                }
            }
        }
    }
    int t=h[x]&s[y]&e[x/3][y/3];
    while(t){
        int l=(t&-t);
        t-=l;
        a[x][y]=p[l];
        h[x]-=l;
        s[y]-=l;
        e[x/3][y/3]-=l;
        dfs(cnt-1,sum+gs(x,y));
        a[x][y]=0;
         h[x]+=l;
        s[y]+=l;
        e[x/3][y/3]+=l;
    }
 }
int main(){
    init();
    int cnt=0;
    int sum=0;
    for(int i=0;i<9;i++){
        for(int j=0;j<9;j++){
            cin>>a[i][j];
            if(a[i][j]){
                h[i]-=1<<(a[i][j]-1);
                s[j]-=1<<(a[i][j]-1);
                e[i/3][j/3]-=1<<(a[i][j]-1);
                sum+=gs(i,j);
            }
            else cnt++;
        }
    }
    dfs(cnt,sum);
    cout<<ans;
    return 0;
}